Telephony equipment today has to have the capability to interface with many different signaling protocols. For example, a call manager in a telecommunications switch is traditionally made up of many equivalent counterparts, each counterpart interfacing with a particular signaling protocol, such as SS7 (Signaling System Number 7), X.25, A/B bearer, and IP (Internet Protocol). Each counterpart of the call manager performed the same functions but with a different signaling protocol. This call manager architecture is problematic for many reasons. Because each counterpart is similar, a logic error made in one is duplicated in each counterpart. Further, a change or update to the call model requires a change to each counterpart of the call manager. With the number of new signaling protocols growing at a steady rate, the number of call model counterparts for each new signaling protocol also increases at the same rate where each new counterpart must be coded and supported. It may be seen that support and maintenance of the call manager becomes tedious and inefficient.